home *** CD-ROM | disk | FTP | other *** search
- About THINK Pascal 4.0.1
- =======================
- Copyright ⌐ 1992 Symantec Corporation. All rights reserved.
- January 9, 1992
- Font: Geneva 12
-
- INTRODUCTION
- =============
- THINK Pascal 4.0.1 corrects some problems with debugging programs on a
- Macintosh Quadra and corrects some other problems in THINK Pascal 4.0. It
- also contains a new version of SANE.p that corrects some of its interfaces
- and contains new versions of Runtime.Lib, TCLRuntime.Lib, and
- MARuntime.Lib that you can use in a project you╒re profiling.
-
- This document has three more sections:
-
- Ñ UPDATING THINK PASCAL tells you how to run
- ╥THINK Pascal -> 4.0.1╙ and ╥Misc Updates.sea╙ to update
- your copy of THINK Pascal.
-
- Ñ WHAT THIS UPDATE FIXES lists the most important bugs that
- this update fixes.
-
- Ñ LAST MINUTE CHANGES lists some last minute changes and
- corrections to the THINK Pascal User Manual. This section
- contains much of the information in the READ ME file on your
- THINK Pascal 4.0 disk, in addition to some more recent
- information.
-
- UPDATING THINK PASCAL
- =======================
- This update transforms your existing THINK Pascal 4.0 application to THINK
- Pascal 4.0.1. You will run the patch program ╥THINK Pascal => 4.0.1╙ and
- then replace some runtime libraries.
-
- 1. Make sure that you have your original THINK Pascal
- application. You won't need it for this update, but you
- should make sure that you have a backup in case the
- update fails. Do not patch your original master disk.
-
- ÑÑÑÑ
- NOTE
- ÑÑÑÑ
- Do not patch your original master disk. If you have
- problems installing or using this patch, you╒ll need it.
-
- 2. Double-click on the patch program "THINK Pascal -> 4.0.1"
- to launch it. Click on the Update THINK Pascal button to
- continue.
-
- 3. Find your existing copy of THINK Pascal in your THINK
- Pascal Folder. Select it and click on the Patch button.
-
- 4. If the patch was successful, you'll get a confirmation.
-
- 5. Double-click on the program ╥Misc Updates.sea.╙ to launch it.
-
- 6. A standard file dialog appears. Move to your Development folder
- and click Extract.
-
- 7. The archive decompresses its files and places them on your hard
- disk. It displays its progress in a dialog. The archive quits
- when it╒s done.
-
- 8. The next time you open a project, THINK Pascal asks if you want
- to convert the project, overwriting the existing version. Click
- Yes.
-
-
- WHAT THIS UPDATE FIXES
- =======================
- THINK Pascal 4.0.1 is a minor upgrade to THINK Pascal 4.0 that lets you
- use THINK Pascal on a Macintosh Quadra and fixes some bugs.
- MiscUpdates.sea replaces these files:
-
- Ñ Project Utilties in your THINK Pascal 4.0.1 Folder
- Ñ Runtime.Lib in your THINK Pascal 4.0.1 Folder
- Ñ TCLRuntime.Lib in your Libraries folder
- Ñ MARuntime.Lib in your Libraries folder
- Ñ ╡Runtime.Lib in your Libraries folder
- Ñ SANE.p in your Interfaces folder
-
- The rest of this section describes the most significant bugs that
- THINK C 4.0.1 fixes:
-
- Ñ The new versions of Runtime.Lib, TCLRuntime.Lib, MARuntime.Lib, and
- ╡Runtime.Lid let you reset a program that you are profiling.
-
- Ñ Project Utilities works correctly when you choose Back Up.
-
- Ñ SANE.p has all correct function interfaces.
-
- Ñ Multi-segment code resources and drivers that move in memory after
- loading or unloading a segment work correctly.
-
- Ñ When running in 32-bit mode, the LightsBug heap display is correct.
-
- Ñ When you use Undo, Cut, or Paste to edit source code for a program while
- it╒s running, THINK Pascal displays an alert and doesn╒t perform the edit if
- you click No.
-
- Ñ Tabs always look the same on the screen and printed copy.
-
- Ñ The Command-key equivalent for Entire Document in the Save As...
- dialog is now Command-E and doesn╒t conflict with the command-key
- equivalent for the Desktop button.
-
- Ñ Printing the Text window in draft mode on an ImageWriter works
- correctly.
-
- Ñ THINK Pascal generates correct code for all assignment statements
- with a short-circuit Boolean expression on the right-hand side.
-
- Ñ THINK Pascal is now compatible with the breakpointing scheme used
- in recent versions of MacsBug.
-
- Ñ On a Macintosh Quadra, you can now call _MaxApplZone while running in
- the THINK Pascal environment.
-
- Ñ Your project can contain more than 127 segments.
-
- Ñ THINK Pascal correctly places a stop sign in your file after it displays
- an alert.
-
- Ñ The Use Second Screen option works correctly even if the main screen
- isn╒t the first device in the device list.
-
- Ñ The ╥Custom Header╙ option for code resources works correctly.
-
- LAST MINUTE CHANGES
- ====================
- Ñ This disk contains the file ╥Installing THINK Pascal,╙ which tells you how
- to set up THINK Pascal on your hard drive. It duplicates Chapter 2,
- ╥Installing THINK Pascal,╙ in the THINK Pascal User Manual. It╒s included
- on disk so the people who never read manuals can read it. If the document
- contradicts anything in the manual, follow the document. The differences
- may reflect minor changes in the layout of the disks.
-
- Editing
- -------
- Ñ The Clean Up Windows command described on page 78 is not in THINK
- Pascal 4.0.
-
- Using Predefined Routines
- ------------------------
- Ñ The declaration for the routine DeviceLoop that╒s built into THINK Pascal
- is incorrect. To use the routine, be sure to include this declaration in any
- file that calls it:
-
- PROCEDURE DeviceLoop( drawingRgn: RgnHandle;
- drawingProc: DeviceLoopDrawingProcPtr;
- userData: LongInt; flags: LongInt );
- INLINE $ABCA;
-
- Ñ On page 142, the list of built-in interfaces is incorrect. These files are
- NOT built into THINK Pascal:
-
- MacPrint.p MemTypes.p OSIntf.p
- PackIntf.p PaletteMgr.p PickerIntf.p
- QDOffscreen.p SCSIIntf.p ToolIntf.p
- VideoIntf.p
-
- QDOffscreen.p is included with THINK Pascal. You can use its functions
- if you include the file in your project and in your uses statment. The
- others are not included in THINK Pascal because they duplicate other
- interfaces or because they are no longer used.
-
- Ñ On pages 142 and 143, Sounds.p is in both lists of interfaces: those that
- are built-in and those that aren╒t. There are in fact two versions of
- Sounds.p. The interfaces are for the Source Manager routines in Inside
- Macintosh V and VI are NOT built-in. You can use the functions if you
- include the file in your project and your uses statment The interfaces for
- the Sound Manager routines in Inside Macintosh I to VI are built-in.
-
- LightsBug
- ---------
- Ñ LightsBug does not display the correct values of these fields of a
- WindowRecord: windowPic, visRgn, and clipRgn. To see their correct
- values, use the Observe window.
-
- THINK Pascal Menus
- ------------------
- Ñ On page 239, the first sentence in the Far Code option╒s description
- should read:
-
- If this option is on, THINK Pascal lets you write large
- applications: applications with a jump table as large as 256K.
-
- Using MacApp
- -------------
- Ñ You MUST use MacApp 2.0.1 or 2.0.2, and you MUST discard your current
- THINK MacApp folder and convert your MacApp sources again with the
- materials supplied with THINK Pascal 4.0. For more information, see
- the Object-Oriented Programming manual, Appendix A, ╥MacApp and
- THINK Pascal.╙
-
- Ñ The ╥MacApp 2.0 for THINK Pascal 4.0╙ folder contains special versions
- of the UFailure library in the ╥Special Failure Handlers╙ folder. Use these
- libraries if you╒re running a MacApp project under THINK Pascal, and you
- need to debug your failure-handling routines. For more information, see
- the file ╥Using the Special Failure Handlers╙ in the ╥Special Failure
- Handlers╙ folder.
-
- Ñ The MacApp failure-handling routines do not work in programs running
- under the THINK Pascal environment. THINK Pascal may crash if your
- program invokes the failure chain. You can conditionally compile the
- routine Failure in UFailure.p so that it halts your program and issues
- a message, instead of invoking the failure chain.
-
- Using Launching Utilities with THINK Pascal
- ----------------------------------------
- Don╒t use utilities that launch other applications, like ICOM╒s OnCue or Now
- Software╒s MultiMaster, while you are running an application in the THINK
- Pascal environment.
-
- Using SetupA4 and RestoreA4
- ---------------------------
- If you write multi-segment drivers, desk accessories, or code resources,
- make sure that any routine that needs to call SetupA4 and RestoreA4 is in
- the same segment as RSRCRuntime.Lib or DRVRRuntime.Lib.
-
- Using Object Pascal in Multi-Segement Code Resources
- --------------------------------------------------
- If you're using THINK Pascal 4.0 to write code resources with Object Pascal,
- there are some important details that you should note:
-
- 1. In the By Segment view of the Project Window, the <<%_SelProcs>> and
- <<%_MethTables>> entries should be together in a different segment
- than the main program.
-
- 2. In the file that contains Main, insert the following code before the
- main procedure:
-
- {$S %_MethTables}
- {$Push}
- {$N-}
- procedure LoadMethTables;
- begin
-
- end;
- {$Pop}
- {$S}
-
- 3. The beginning of your Main procedure should look something like this:
-
- procedure Main {any optional arguments};
- begin
- RememberA4;
- SetupA4;
- LoadMethTables;
-
- { rest of Main's code }
-
- RestoreA4;
- end;
-
- The important thing here is that you must call LoadMethTables (a routine
- in the %_MethTables segment), before you use any object-related routines
- (including New). Otherwise, objects won╒t work.